Optimizing a computer vision inspection station

ABSTRACT

Evaluating a design of a configurable inspection station for inspecting a workpiece, wherein the design of the configurable inspection station has a plurality of changeable parameters and providing a computer vision system that can receive multiple, different inputs each defining a respective region of interest in a simulated image to search for a feature corresponding to an attribute of the workpiece and determine whether the feature corresponding to the attribute is identifiable in each of the respective regions of interest.

FIELD OF THE INVENTION

The present disclosure relates generally to an article of manufactureinspection station and, more particularly, to utilizing computer visionwith such an inspection station.

BACKGROUND OF THE INVENTION

The design of a product inspection station involves making and testing aphysical prototype of a product and an inspection station in order tooptimize the layout and parameters of the vision components in theinspection station and the design of the product. Optimizing this setuptends to be an iterative process and may require multiple productprototypes and/or inspection station prototypes.

SUMMARY OF THE INVENTION

One aspect of the present invention relates to a method for evaluating adesign of a configurable inspection station for inspecting a workpiece,the design of the configurable inspection station having a plurality ofparameters. The method includes providing a respective lighting modelfor each of a first set of one or more illumination sources of theconfigurable inspection station; providing a respective light mappingfor each of the one or more lighting models of the configurableinspection station; and providing a first workpiece model and a firstmaterial mapping for a first workpiece. The method also includesgenerating a corresponding simulated image based on the one or morerespective lighting models, the one or more respective light mappings,the first workpiece model, and the first material mapping; and defining,by a processor, a feature corresponding to an attribute of the workpiecesuch that the feature is searched for in the simulated image by acomputer vision application in communication with an image renderingapplication. The method continues with repeatedly performing, for apredetermined number of times: a) receiving, by the processor, an inputdefining a respective region of interest in the simulated image for thecomputer vision application to search for the feature corresponding tothe attribute; and b) determining, by the processor utilizing thecomputer vision application, whether the feature corresponding to theattribute of the workpiece is identifiable, in the region of interest inthe simulated image. The method then continues with calculating, by theprocessor, a first evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the simulatedimage.

In accordance with this aspect, the plurality of parameters compriseworkpiece and illumination parameters and the respective lighting modelfor each of the first set of one or more illumination sources, therespective light mapping for each of the one or more lighting models,the first workpiece model and the first material mapping define a firstset of instances for the workpiece and illumination parameters. Themethod also includes changing one of the first set of instances so as togenerate a second set of instances for the workpiece and illuminationparameters; generating a corresponding changed simulated image based onthe second set of instances for the workpiece and illuminationparameters; and then repeatedly performing, for a predetermined numberof times: a) receiving, by the processor, an input defining a respectiveregion of interest in the changed simulated image for the computervision application to search for the feature corresponding to theattribute; and b) determining, by the processor utilizing the computervision application, whether the feature corresponding to the attributeof the workpiece is identifiable, in the region of interest in thechanged simulated image. The method includes calculating, by theprocessor, a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and selecting the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.

In one example, changing one of the first set of instances compriseschanging a first light mapping for one illumination source to a secondlight mapping having a different light intensity. In another example,changing one of the first set of instances comprises changing a firstworkpiece model to a second workpiece model having a different shape.

In accordance with this aspect, the method also includes changing theone or more illumination sources so as to generate a second set of oneor more illumination sources, each of the second set of one or moreillumination sources having an associated lighting model and lightmapping; generating a corresponding changed simulated image based on theone or more lighting models and the one or more light mappingsassociated with the second set of one or more illumination sources, thefirst workpiece model, and the first material mapping; and thenrepeatedly performing, for a predetermined number of times: a)receiving, by the processor, an input defining a respective region ofinterest in the changed simulated image for the computer visionapplication to search for the feature corresponding to the attribute;and b) determining, by the processor utilizing the computer visionapplication, whether the feature corresponding to the attribute of theworkpiece is identifiable, in the region of interest in the changedsimulated image. The method also includes calculating, by the processor,a second evaluation score for the design of the configurable inspectionstation based on the number of times the computer vision applicationdetermined the feature corresponding to the attribute of the workpiecewas identifiable in the regions of interest in the changed simulatedimage; and selecting the design of the configurable inspection stationbased on a comparison of the first evaluation score and the secondevaluation score.

In one example, changing the one or more illumination sources comprisesat least one of: replacing a first particular one of the first set ofone or more illumination sources with a different illumination source,adding an additional illumination source to the first set of one or moreillumination sources, or removing a second particular one of the firstset of one or more illumination sources.

In accordance with this aspect, the method also includes changing aparticular one of the respective one or more light mappings so as togenerate a changed set of one or more light mappings; generating acorresponding changed simulated image based on the one or more lightingmodels, the changed set of one or more light mappings, the firstworkpiece model, and the first material mapping; and then repeatedlyperforming, for a predetermined number of times: a) receiving, by theprocessor, an input defining a respective region of interest in thechanged simulated image for the computer vision application to searchfor the feature corresponding to the attribute; and b) determining, bythe processor utilizing the computer vision application, whether thefeature corresponding to the attribute of the workpiece is identifiable,in the region of interest in the changed simulated image. The methodalso includes calculating, by the processor, a second evaluation scorefor the design of the configurable inspection station based on thenumber of times the computer vision application determined the featurecorresponding to the attribute of the workpiece was identifiable in theregions of interest in the changed simulated image; and selecting thedesign of the configurable inspection station based on a comparison ofthe first evaluation score and the second evaluation score.

In accordance with this aspect, the method also includes receiving asecond workpiece model having at least one change from the firstworkpiece model; generating a corresponding changed simulated imagebased on the respective one or more lighting models, the respective oneor more light mappings, the second workpiece model, the first materialmapping; and then repeatedly performing, for a predetermined number oftimes: a) receiving, by the processor, an input defining a respectiveregion of interest in the changed simulated image for the computervision application to search for the feature corresponding to theattribute; and b) determining, by the processor utilizing the computervision application, whether the feature corresponding to the attributeof the workpiece is identifiable, in the region of interest in thechanged simulated image. The method also includes calculating, by theprocessor, a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and selecting the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.

The attribute of the workpiece may comprise one of a geometric feature,an edge, a two-dimensional logo, a three-dimensional logo, a corner or asurface section of the workpiece.

In accordance with this aspect, the method also includes providing amechanical layout model assembly of the configurable inspection stationto the image rendering application. In one example, the mechanicallayout model assembly comprises one or more of: a camera model, thefirst workpiece model, a fixture model, or the respective one or morelighting models.

In an example, each of the respective one or more light mappingscomprises empirically determined data for the corresponding illuminationsource. In another example, the first material mapping comprisesempirically determined data.

Another aspect of the present invention relates to a system forevaluating a design of a configurable inspection station for inspectinga workpiece, the design of the configurable inspection station having aplurality of parameters. The system includes a memory storing executableinstructions; and a processor in communication with the memory, whereinthe processor when executing the executable instructions is configuredto: receive from an image rendering application a simulated image basedon a respective lighting model for each of a first set of one or moreillumination sources of the configurable inspection station; arespective light mapping for each of the one or more lighting models ofthe configurable inspection station; a first workpiece model; and afirst material mapping; define a feature corresponding to an attributeof the workpiece to be searched for in the simulated image by a computervision application in communication with the image renderingapplication; repeatedly perform, for a predetermined number of times: a)receive an input defining a respective region of interest in thesimulated image for the computer vision application to search for theattribute; and b) determine, utilizing the computer vision application,whether the feature corresponding to the attribute of the workpiece isidentifiable, in the region of interest in the simulated image. Thesystem can also calculate a first evaluation score for the design of theconfigurable inspection station based on the number of times thecomputer vision application determined the feature corresponding to theattribute of the workpiece was identifiable in the regions of interestin the simulated image.

In accordance with this aspect, the plurality of parameters compriseworkpiece and illumination parameters and the respective lighting modelfor each of the first set of one or more illumination sources, therespective light mapping for each of the one or more lighting models,the first workpiece model and the first material mapping define a firstset of instances for the workpiece and the illumination parameter; andwhen executing the executable instructions the processor is configuredto: receive from the image rendering application, a changed simulatedimage based on a second set of instances for the workpiece andillumination parameters; wherein one of the first set of instances ischanged so as to generate the second set of instances for the workpieceand illumination parameters; repeatedly performing, for a predeterminednumber of times: a) receive an input defining a respective region ofinterest in the changed simulated image for the computer visionapplication to search for the feature corresponding to the attribute;and b) determine, utilizing the computer vision application, whether thefeature corresponding to the attribute of the workpiece is identifiable,in the region of interest in the changed simulated image. The system canalso calculate a second evaluation score for the design of theconfigurable inspection station based on the number of times thecomputer vision application determined the feature corresponding to theattribute of the workpiece was identifiable in the regions of interestin the changed simulated image; and select the design of theconfigurable inspection station based on a comparison of the firstevaluation score and the second evaluation score.

In one example, changing one of the first set of instances compriseschanging a first light mapping for one illumination source to a secondlight mapping having a different light intensity. In another example,changing one of the first set of instances comprises changing a firstworkpiece model to a second workpiece model having a different shape.

In accordance with this aspect, when executing the executableinstructions the processor is configured to: receive from the imagerendering application, a changed simulated image, wherein the one ormore illumination sources are changed so as to generate a second set ofone or more illumination sources, each of the second set of one or moreillumination sources having an associated lighting model and associatedlight mapping; and the changed simulated image is based on the one ormore lighting models and the one or more light mappings associated withthe second set of one or more illumination sources, the first workpiecemodel, and the first material mapping; and repeatedly performing, for apredetermined number of times: a) receive an input defining a respectiveregion of interest in the changed simulated image for the computervision application to search for the feature corresponding to theattribute; and b) determine, utilizing the computer vision application,whether the feature corresponding to the attribute of the workpiece isidentifiable, in the region of interest in the changed simulated image.The system can also calculate, a second evaluation score for the designof the configurable inspection station based on the number of times thecomputer vision application determined the feature corresponding to theattribute of the workpiece was identifiable in the regions of interestin the changed simulated image; and select the design of theconfigurable inspection station based on a comparison of the firstevaluation score and the second evaluation score.

In one example, the change to the one or more illumination sourcescomprises at least one of: replacing a first particular one of the firstset of one or more illumination sources with a different illuminationsource, adding an additional illumination source to the first set of oneor more illumination sources, or removing a second particular one of thefirst set of one or more illumination sources.

In accordance with this aspect, when executing the executableinstructions the processor is configured to: receive from the imagerendering application, a changed simulated image based on the respectiveone or more lighting models, a changed set of one or more light mappingscomprising a change to a particular one of the respective one or morelight mappings, the first workpiece model, the first material mapping;and repeatedly performing, for a predetermined number of times: a)receive an input defining a respective region of interest in the changedsimulated image for the computer vision application to search for thefeature corresponding to the attribute; and b) determine, utilizing thecomputer vision application, whether the feature corresponding to theattribute of the workpiece is identifiable, in the region of interest inthe changed simulated image. The system can also calculate a secondevaluation score for the design of the configurable inspection stationbased on the number of times the computer vision application determinedthe feature corresponding to the attribute of the workpiece wasidentifiable in the regions of interest in the changed simulated image;and select the design of the configurable inspection station based on acomparison of the first evaluation score and the second evaluationscore.

In accordance with this aspect, when executing the executableinstructions the processor is configured to: receive from the imagerendering application, a changed simulated image based on the one ormore lighting models, the respective one or more light mappings, asecond workpiece model comprising at least one change from the firstworkpiece model, and the first material mapping; and repeatedlyperforming, for a predetermined number of times: a) receive an inputdefining a respective region of interest in the changed simulated imagefor the computer vision application to search for the featurecorresponding to the attribute; and b) determine, utilizing the computervision application, whether the feature corresponding to the attributeof the workpiece is identifiable, in the region of interest in thechanged simulated image. The system can also calculate a secondevaluation score for the design of the configurable inspection stationbased on the number of times the computer vision application determinedthe feature corresponding to the attribute of the workpiece wasidentifiable in the regions of interest in the changed simulated image;and select the design of the configurable inspection station based on acomparison of the first evaluation score and the second evaluationscore.

In one example, the attribute of the workpiece comprises one of ageometric feature, an edge, a two-dimensional logo, a three-dimensionallogo, a corner or a surface section of the workpiece.

In accordance with this aspect, when executing the executableinstructions the processor is configured to provide a mechanical layoutmodel assembly of the configurable inspection station to the imagerendering application. In one example, the mechanical layout modelassembly comprises one or more of: a camera model, the workpiece model,a fixture model, or the one or more lighting models.

In an example, each of the respective one or more light mappingscomprises empirically determined data for the corresponding illuminationsource. In another example, the first material mapping comprisesempirically determined data.

BRIEF DESCRIPTION OF THE DRAWINGS

So the manner in which the above recited features of the presentdisclosure may be understood in detail, a more particular description ofembodiments of the present disclosure, briefly summarized above, may behad by reference to embodiments, which are illustrated in the appendeddrawings. It is to be noted, however, the appended drawings illustrateonly typical embodiments encompassed within the scope of the presentdisclosure, and, therefore, are not to be considered limiting, for thepresent disclosure may admit to other equally effective embodiments,wherein:

FIG. 1A illustrates a product inspection station in accordance with theprinciples of the present disclosure;

FIG. 1B illustrates a block diagram of functional components of a systemin accordance with the principles of the present disclosure;

FIG. 2A and FIG. 2B depict lighting models in accordance with theprinciples of the present disclosure;

FIGS. 3, 4A, 4B, and 5A-5F depict example light mappings in accordancewith the principles of the present invention;

FIG. 6A and FIG. 6B depict a workpiece model in accordance with theprinciples of the present disclosure;

FIGS. 7A-7C depict different material mappings applied to a modeledworkpiece in accordance with the principles of the present disclosure;

FIG. 8A-8F depict an example user interface of computer vision softwarein accordance with the principles of the present disclosure;

FIG. 9A and FIG. 9B illustrate how different material mapping affectdiscernibility of an attribute of a workpiece in a simulated image inaccordance with the principles of the present disclosure;

FIG. 10 is a flowchart of an example method of evaluating the design ofthe configurable inspection station in accordance with the principles ofthe present disclosure;

FIGS. 11A-11C illustrate how changing parameters of a configurableinspection station changes detectability of a workpiece attribute inaccordance with the principles of the present disclosure;

FIG. 12A and FIG. 12B illustrate how a change to an illumination sourcechanges detectability of a workpiece attribute in accordance with theprinciples of the present disclosure; and

FIG. 13 is a flowchart of an example method of evaluating the design ofthe configurable inspection station in accordance with the principles ofthe present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

When using a typical computer-vision system or software during thedesign of a product inspection station, it has been beneficial to makeand test a physical prototype of a product and an inspection station inorder to optimize the layout and parameters of the vision components inthe inspection station and the design of the product. This allows theinspection station designer to understand the interactions of thelighting with the product and how it affects the final image captured byan inspection camera. In some cases, minor alterations to the locationof light sources, the camera, other imaging components (e.g., mirror orreflector), a workpiece holder and/or a product with respect to eachother, the number and type of light sources, the design of a workpieceholder, the color of portions of a product or workpiece holder, thetype/design of other imaging components (e.g., mirror or reflector), andthe design of one or more attributes on a product to be inspected mayhave a major effect on the quality of the final image captured at aninspection station. Furthermore, optimizing this setup tends to be aniterative process and may require multiple product prototypes and/orinspection station design changes, which can substantially add cost andtime to a given product development project. Having a method forpredicting these interactions and their effect on the final image in avirtual environment may help streamline the design process of a productand a product inspection station and potentially save time and money.

In accordance with the principles of the present disclosure, a designmethod utilizes existing rendering (ray tracing) software to render aphotorealistic predicted image of a part or product being inspected by avision system. Having a “virtual vision system” allows a designer tomodify parameters of a computer vision based inspection station and/orproduct or part to be inspected and see the effects of these changes innear real time. In many cases this provides insights that wouldotherwise require a physical prototype to obtain. For example, thismethod could be used to predict shadowed or washed out attributes on amanufactured part that would prevent those attributes from beingproperly inspected. Identifying such an issue at an early stage in thedesign process allows for early correction, thereby saving significanttooling costs and time.

FIG. 1A illustrates an example computer vision based product inspectionstation (physical or real) 100 to inspect actual products or parts todetermine if those products or parts have defects or imperfections. Theterms “product,” “part” and “workpiece” are used interchangeably hereinto refer to a product or portion of a product that is to be inspectedusing an inspection station, such as the station 100 of FIG. 1A. Thecomputer vision based inspection station 100 includes a camera 102 thatcaptures one or more images of a workpiece 110. There may be one or morelights such as a top light 104 and a back light 112, which illuminatethe workpiece 110. A reflector 108 may also be present that helps ensurelight is directed at the workpiece 110 in a desired manner. Theworkpiece 110 can be held in position by a workpiece fixture 106.

Each of the components of the inspection station 100, and a part orproduct to be inspected, can be simulated, or modeled, with a computeraided design (CAD) model. Thus, in accordance with the presentdisclosure, the physical structure and layout of components of theinspection station 100 are simulated to create a modeled inspectionstation 100A that is created and is configurable using conventionalcomputer modeling software. Also, the physical structure of the part issimulated to create a modeled part that is created and configurableusing conventional computer modeling software. As a result, the shapes,positions, orientation and layout of all the components of theinspection station 100, including the part or product to be inspected,are modeled using the CAD software.

FIG. 1B illustrates a block diagram of functional components of a systemfor simulating a computer vision based inspection station in accordancewith the principles of the present disclosure. A library of lightmappings 152 can be available from which a designer can selectparticular light mappings 154, as described below, to include in themodeled inspection station. There is also a library of material mappings160 from which the designer can select particular material mappings 158,as described below, to include in the modeled inspection station and/orthe modeled part or product to be inspected. As mentioned, the CADsoftware can be used to design the structure of and layout 156 of theinspection station 100. The light mappings 154, the model layout 156 andthe material mappings 158 are used by image rendering software 162, asdiscussed further below, to generate an image from the perspective of acamera in a virtual inspection station imaging a virtual part or productto be inspected. A “modeled inspection station” is intended to mean aninspection station having the physical structure and layout of thecomponents of the inspection station 100 simulated and a “modeled part”is intended to mean a part having its structure or make-up simulated.The “virtual inspection station” is intended to mean the modeledinspection station with corresponding light and material mappingsapplied to the modeled lights and one or more modeled components and the“virtual part” is intended to mean the modeled part with one or morecorresponding material mappings applied to its structure.

Software rendering is the process of generating an image from one ormore models by means of computer software. As described above, acomputer aided design (CAD) software is used to model and layout all thecomponents of the inspection station 100 and the part or product to beinspected. This can include, but is not limited to: an imaging sensor(i.e., camera), the part or product being inspected, any lights oroptics, any mechanical fixturing, and other structure of the inspectionstation 110, such as its housing. All the models collectively can bereferred to as a scene. Once a functional layout of the inspectionstation and the part or product is created in the CAD software, it canbe imported into rendering software 162 where light and materialmappings are applied to the lighting and workpiece models. The renderingsoftware 162 then creates a simulated image from the perspective of thecamera in the simulated or virtual inspection station and can bemanipulated to look as accurate to true life as possible. Examplecommercially available CAD software includes NX by Siemens andSolidworks by Dassault Systemes. Example commercially availablerendering software includes Keyshot by Luxion.

The rendering software 162 produces a simulated image 164. The simulatedimage 164 is intended to depict a physical image that would be capturedby a camera if the virtual inspection station and virtual part orproduct were to be actually implemented physically. The simulated image164 can then be provided to a computer vision system or software 166 forimage analysis. In terms of the simulated or virtual workpieceinspection station and product or part, the image analysis may beperformed to identify or recognize the presence of one or more featuresor patterns corresponding to one or more attributes of the product orpart in the simulated image, which attributes are intended to beinspected on parts to be later built and inspected and may comprise aproduct edge, a product corner, a product surface feature, a specificpart on or portion of the product, and other attributes on the product,one or more two-dimensional logos, one or more three-dimensional logos,and combinations of one or more of these. This same computer visionsystem or software 166 receives real images generated by a camera at aninspection station actually implemented physically to inspect actualproducts or parts to determine if those products or parts have defectsor imperfections. One example commercially available computer visionsoftware 166 is Cognex In-Sight Explorer.

The CAD software, the rendering software 162, and the computer visionsoftware 166 can each be executed on a separate computer system orprocessor or, alternatively, one or more of the different softwareapplications can be executed on the same computer system or processor.One of ordinary skill will readily recognize that the computer system(s)can be a single processor or a multi-processor system without departingfrom the scope of the present invention.

FIG. 2A and FIG. 2B depict example lighting models in accordance withthe principles of the present disclosure. A lighting model, generated byCAD software, is a 3D representation of the physical dimensions andshape of a light source. FIG. 2A is an example of a model of a ringlight 105 and FIG. 2B is an example of a model of a back light 107. Oneor more of these lighting models can be placed at different locationsand oriented in different directions when a designer creates a modeledinspection station 100A, such as is illustrated in FIG. 1A, using theCAD software.

FIG. 3 depicts example light mappings in accordance with the principlesof the present invention. Within a virtual inspection station, a lightsource is modeled with a lighting model from the CAD software and alight mapping is applied to the lighting model via the renderingsoftware. The lighting model is positioned in a particular mannertypically using the CAD software but the rendering software also has theability to position CAD objects and/or models within its object space.The location and orientation of a light mapping is associated with thelighting model using the rendering software. Although FIG. 3 istwo-dimensional in nature, a light mapping comprises three-dimensionaldata. In particular, a light mapping represents a three-dimensionaldistribution of light intensities, which can also include color andwavelength, at different distances and positions surrounding the originof the light source.

A light mapping can be derived by measuring the light intensity atdifferent positions/locations around a physical light source. Lightmappings are typically provided by rendering software. One example firstlight mapping 302 represents a more diffuse light source than an examplesecond light mapping 304, see FIG. 3. An example third light mapping 306is similar to that of the first light mapping 302 but has a lowerintensity and a more irregular shape. Thus, light mappings representboth the manner, i.e., scope, shape and size, in which the modeled lightsource projects light and the intensity at which the light is projected.FIGS. 4A and 4B illustrate how a designer can adjust or change a lightmapping for a particular light source and lighting model using therendering software. The origin 402 of the light source is positionedrelative to a modeled flat planar surface 404 and light defined by alight mapping is projected onto that surface. In FIG. 4A, the lightmapping is representative of first color (yellow) of light beingprojected onto the surface 404 and the light mapping of FIG. 4B isrepresentative of a different color (green) of light being projectedonto the surface 404.

FIGS. 5A-5F depict other examples of light mappings being projected ontoa modeled flat planar surface S. FIG. 5A depicts the result of a lightmapping for a dim point light 406A being projected onto the surface S,FIG. 5B illustrates the result of a light mapping for a relatively dimarea light 406B being projected onto the surface S, FIG. 5C depicts theresult of a light mapping for a small diameter spot light 406C beingprojected onto the surface S, FIG. 5D depicts the result of a lightmapping for a relative bright point light 406D being projected onto thesurface, FIG. 5E depicts the result of a light mapping for a bright arealight 406E being projected onto the surface S, and FIG. 5F depicts theresult of a light mapping of a large diameter spot light 406F beingprojected onto the surface S.

FIG. 6A and FIG. 6B depict an example of a workpiece model in accordancewith the principles of the present disclosure. In FIG. 6A, a workpiece602, a razor cartridge in the illustrated embodiment, and a fixture 604to hold the workpiece 602, are modeled. As mentioned above, a designercan use conventional CAD software to create models of a workpiece andthe fixtures that hold the workpiece in the modeled inspection station100A. As is known in the art, a CAD model is a 3D model of the physicalshape and dimensions of the object being modeled. FIG. 6B depictsanother view of the modeled workpiece 602 and fixture 604.

Along with the model of the workpiece, a material mapping can be definedwhich represents the optical characteristics of the correspondingmaterial to be assigned or applied to the workpiece. The materialmapping defines such attributes as a color of the material, a lightabsorptivity of the material, light dispersion characteristics of thematerial, light reflectivity of the material, light transmissivecharacteristics of the material and a texture of the material. Ingeneral, a material mapping is selected and applied to a modeledobject's surface by the designer using the rendering software anddefines how light which strikes the modeled object's surface to whichthe material is applied would be perceived by a viewer or an imagingdevice. Conventional rendering software provides a designer with thetools to define various material mappings and associate those mappingswith different surfaces of a modeled object. Material mappings may alsobe applied to models of fixtures and portions of the inspection station,such as the housing.

FIG. 7A and FIG. 7B depict two different material mappings applied to aclip 602D of the modeled workpiece 602 in accordance with the principlesof the present disclosure. In FIG. 7A, the modeled razor cartridge 602has a black plastic material mapping applied to its housing 602B and alight grey, smooth material mapping applied to its clips 602D. In FIG.7B, the modeled razor cartridge 602 also has a black plastic materialmapping applied to its housing 602B but a light grey, rough materialmapping applied to its clips 602D. One result of a rougher surface isthat it diffuses light more than a smoother surface making the roughersurface appear to be darker. Hence, the clips 602D appear darker in FIG.7B than in FIG. 7A. In FIG. 7C, the housing 602B of the molded razorcartridge has a different color material mapping than that of thehousing 602B in FIGS. 7A and 7B. One result of the difference in colormay be that the fins 603A in the fin guard portion 603 of the housing602B may be easier for the computer vision software to detect.

As mentioned, the CAD software can be used to design the mechanicallayout 156 of the inspection station 100. The light mappings 154, themodel layout 156 and the material mappings 158 are used by the renderingsoftware 162 to produce the simulated image 164. The computer visionsoftware 166 is then used to analyze the simulated image.

FIGS. 8A-8H depict an example user interface 800 of the computer visionsoftware 166 in accordance with the principles of the presentdisclosure. One feature of the computer vision software is that itallows a user to select and define one or more regions of interestwithin the simulated image, so as to limit a search area within thesimulated image to only the defined one or more regions of interest. InFIG. 8A, a region of interest is defined by an outline of a box 802. Theuser also selects a detecting tool for seeking or finding a desired typeof searchable feature in the simulated image using a menu 806. Examplesearchable features can be circles, lines, edges, patterns, and anyother types of features that the computer vision software provides for.In this example, an edge detecting tool is selected causing the computervision software 166 to search for an edge in the region of interest 802of the simulated image. The user can be provided with feedback viascreen portion 808. The box 802 shows that in this simulated image, an“edge” is scored as “present.” In other words, within the region ofinterest 802, an edge was determined to be present or identifiable. Itis also contemplated that the region of interest may comprise the entiresimulated image or no region of interest may be defined, which resultsin the entire simulated image being searched by the detecting tool.Hence, when the computer vision software searches for a feature in thesimulated image, it can search for that feature in the entire image whenthe region of interest is designated to be the entire image or no regionof interest is defined.

Another type of detection tool frequently provided in computer visionsoftware 166 is known as a blob detection tool, which looks for clustersof pixels with similar color to confirm the presence or absence of afeature.

The computer vision software can provide a number of different featuredetection tools with each one having different settings configurable bya user. These settings allow the user to control how the computer visionsoftware determines whether or not a particular feature is detected, oris identifiable, in a simulated image. For example, an edge detectiontool may allow a user to define a contrast threshold value such that theoccurrence of adjacent lines of pixels (each line of pixels having apredefined number of linearly arranged pixels) having a contrast valuewhich exceeds that threshold value are considered to correspond to anidentifiable edge. An inspectability metric may also be provided by thedetection tool corresponding to the detected contrast value for theadjacent lines of pixels. As another example, a pattern detection toolmay allow the user to define a threshold value that represents apercentage (e.g., any value between 1% and 100% is possible) of matchingpixels. If a region of the simulated image has an amount or percentageof pixels above the threshold percentage that match the pattern, thenthat pattern is considered to be identifiable in the simulated image. Aninspectability metric may also be provided by the detection toolcorresponding to the number or percentage of pixels found in the imagethat match the pattern. Each of the other feature detection toolsprovided by the computer vision software can have similar, respectiveuser-definable settings that allow the user to control the determinationby the computer vision software whether or not a feature is identifiablein the simulated image. The user can configure the settings based on therisk the user considers acceptable for not identifying a feature that ispresent or, conversely, falsely identifying a feature that is notpresent. It is also contemplated that the computer vision software canprovide one or more feature detection tools having a fixed thresholdvalue, which the detection tools use to determine if a feature isdetected in a simulated image. For example, a line detection tool mayuse a threshold value of 20 adjacent pixels aligned along a straightline when searching for a line. Hence, in order for the detection toolto indicate that a line has been detected and is identifiable, it mustdetect 20 linearly positioned, adjacent pixels. The detection tool mayalso provide an inspectability metric corresponding to the results ofthe search. For example, if the detection tool finds a line that is 18pixels long, it may provide an inspectability metric comprising 18,corresponding to the number of pixels detected, or an inspectabilitymetric comprising a 95% confidence level that the found line is thedesired searchable feature. If, however, it finds a line of only 14pixels, it may indicate an inspectability metric comprising 14,corresponding to the number of pixels detected, or an inspectabilitymetric comprising a 50% confidence level that the found line is thedesired searchable feature.

In the example of FIG. 8B, two search regions or regions of interest 812in the shape of an annulus are defined in which to search for thepresence of a circle. Also, in the example of FIG. 8B, a pattern definedby the outline of a clip 602D, see also FIG. 7B, of a razor cartridge602 is provided to the computer vision software 166 to be used as apattern to be searched for within the simulated image. In general, a“pattern” is an arrangement or a pattern of pixels similar to what istrying to be identified as present or not, e.g., a workpiece attribute,in the simulated image by the computer vision software 166. The patterncan be generated based on a captured image of an actual object or can bea simulated image provided to the computer vision software 166. Oneexample of a pattern of pixels is the outline of a cartridge clip 602D.As an example, the user may specify a threshold value of 85% for apattern detection tool that is used to search a region of interest inthe simulated image for pixels that match the pattern comprising theoutline of the cartridge clip 602D. If an arrangement of pixels islocated by the detection tool in which at least 85% of those pixels arethe same as the pattern of pixels comprising the outline of thecartridge clip 602D, then that pattern is considered to be identifiablein the simulated image. An inspectability metric may also be provided bythe detection tool of 85% corresponding to the percentage of pixelsfound in the image that match the pattern.

Another example of a pattern of pixels to search for might be a portionof a three-dimensional logo with a shadowed area. As shown in region808, scores 812A are provided indicating that two circular areas,corresponding to molding injection ports on the razor cartridge 602 inthe simulated image, were located. Also, scores 814 are providedindicating that two instances of the pattern defined by the razorcartridge clip were located within the simulated image by the computervision software 166. In this example, the pattern was determined to bepresent at one location in the simulated image with a confidence levelof 93.265% and the pattern was determined to be present at a secondlocation in the simulated image with a confidence level of 99.563%. Theconfidence level may define an inspectability metric. Hence, thecomputer vision software 166 allows the user to identify or define oneor more patterns corresponding to one or more attributes of a workpiece,wherein the computer vision software 166 searches for those one or morepatterns in the simulated image. The computer vision software 166 maysearch for a pattern in a defined region of interest or, if a region ofinterest is not defined, in the entire simulated image. Morespecifically, the computer vision software 166 applies image analysistechniques to determine whether or not there are a group of pixels ofthe simulated image that match the selected pattern. Hence, the selectedor defined pattern can beneficially correspond to one or more attributesof a workpiece that are to be inspected if the modeled inspectionstation were physically implemented. When the confidence level of amatch of the selected pattern is above a user-definable threshold value,e.g., any value between 1 and 100%, preferably any value greater than50% and more preferably any value greater than 70%, then thatcorresponding workpiece attribute is considered to be “identifiable” inthe simulated image.

Hence, a threshold value for determining whether a feature or pattern ispresent or identifiable is either predefined by the computer visionsoftware or configurable by the user.

While “pattern” is defined herein as a pattern of pixels, it is intendedthat use of the term “feature” in the claims encompasses a “pattern” aswell as circles, lines, edges, and any other types of features for whichthe computer vision software allows to be searched.

FIG. 8C is an example of a user changing the size of the region ofinterest 820 in which to search for a circle. FIG. 8D is an example of auser changing the size of the box region of interest 802 in which tosearch for an edge. Changing the size and/or position/location of theregion of interest can have an effect on the computer vision software'sanalysis of the same simulated image as the area being searched ischanged. In FIGS. 8E and 8F, the positions of the regions of interest830 and 840 differ slightly. Due to this change in position, an edge 831determined to be present in the region of interest 830 has an anglerelative to vertical of 0.036 degrees, while that same edge 831 in theregion of interest 840 has an angle relative to vertical of 0.64degrees, see screen portion 808 in FIGS. 8E and 8F.

As noted above, material mappings are applied by the rendering softwareto a portion of a modeled workpiece or workpiece holder. These differentmaterial mappings 158 can affect how discernable a feature correspondingto a workpiece attribute is within a region of interest in a simulatedimage. In FIG. 9A and FIG. 9B, the region of interest 902 and the regionof interest 906, respectively, are placed over a fin guard 603 of ahousing 602B of the razor cartridge 602, see also FIG. 7B. In FIG. 9A,the material mapping defines the color of the housing to be black. InFIG. 9B, a different material mapping defines the color of the housingto be green. In FIG. 9A, the edge-finding tool does not detect an edgein the region of interest, see screen portion 808 in FIG. 9A. However,in FIG. 9B, the edge-finding tool does find an edge 602A of a fin 603Ato be present, see screen portion 808 in FIG. 9A, as the fins 603A onthe fin guard 603 are much clearer and more easily detectable in thesimulated image of FIG. 9B where the material mapping is a color (i.e.,green) other than black.

Utilizing the CAD software, the rendering software 162 and the computervision software 166 described above, a user can simulate differentconfigurations of an inspection station and product or part in anentirely virtual manner. The virtual workpiece may have a variabledesign parameter defined as a variable workpiece parameter. The variableworkpiece parameter may have a number of different possible instances,wherein any one of those instances could be selected for use in aparticular design or configuration of the virtual workpiece. Eachinstance may have a corresponding workpiece model and material mapping.For example, a first instance may comprise a first workpiece modelhaving a first shape and size and a first material mapping having afirst color and a first texture. A second instance may comprise a secondworkpiece model having a second shape and size different from the firstshape and size and a second material mapping having a second color andsecond texture different from the first color and first texture.

The virtual inspection station may also have variable design parametersdefined as a variable illumination parameter, a variable workpiecefixture parameter, a variable camera parameter, a variable opticsparameter and the like. Each variable parameter may have a number ofdifferent possible instances, wherein any one of those instances couldbe selected for use in a particular design or configuration of thevirtual inspection station. For example, each instance of theillumination parameter may comprise one or more lighting models and onelight mapping corresponding to each of the one or more lighting models.A first instance of the illumination parameter may have a first lightingmodel having a first shape and size for a first light source and acorresponding first light mapping having a first light intensity. Asecond instance of the illumination parameter may have a second lightingmodel having a second shape and size for a second light source and acorresponding second light mapping having a second light intensitydifferent from the first light intensity. A third instance of theillumination parameter may have the second lighting model having thesecond shape and size for the second light source and a correspondingthird light mapping having a third light intensity different from thefirst and second light intensities as well as the first lighting modelhaving the first shape and size for the first light source and acorresponding second light mapping having the second light intensity. Afirst instance of a workpiece fixture parameter may comprise a firstworkpiece fixture model and a first material mapping having a thirdcolor and texture. A first instance of a camera model may comprise afirst camera model having a first resolution.

Another design parameter comprises the relative positions of the cameramodel, the lighting models, the workpiece and workpiece fixture modelswithin the inspection station, wherein the relative positions can bechanged in various instances of this parameter.

One or more instances of these parameters may be changed to create andsimulate different configurations of the virtual inspection station andworkpiece such that the different configurations can be evaluated todetermine which configuration(s) is helpful in inspecting a workpiece todetermine whether or not a feature or pattern corresponding to aparticular attribute of the workpiece would be discernable if thevirtual inspection station and workpiece were to be physicallyimplemented. Thus, embodiments in accordance with the principles of thepresent disclosure relate to a method for evaluating a design of aconfigurable inspection station for inspecting a workpiece, wherein thedesign of the configurable inspection station has a plurality ofchangeable design parameters.

FIG. 10 is a flowchart of an example method of evaluating the design ofthe configurable inspection station. In step 1002, a user can define adesired illumination parameter instance by selecting one or morelighting models using CAD software, for example, in order to provide arespective lighting model for each of a first set of one or moreillumination sources of the configurable inspection station to an imagerendering application defined by the image rendering software 162. Usingthe image rendering software, the user can associate a light mappingwith each lighting model in order to provide, in step 1004, a respectivelight mapping for each of the one or more lighting models of theconfigurable inspection station. As mentioned above, a lighting model isa representation of the size, dimensions, shape, position, andorientation of an illumination source. A light mapping represents a 3Ddistribution of light intensities at various locations surrounding anillumination source.

In step 1006, the user can continue to use the CAD software, forexample, in order to define a desired workpiece parameter instance bydesigning a first workpiece model to provide to the image renderingapplication and select one or more first material mappings to beassociated with that first workpiece model by using the image renderingapplication. As mentioned above, the workpiece model is a representationof the size, dimensions, shape, position, and orientation of a workpieceor a portion of a workpiece. The material mapping is applied to asurface of the workpiece and defines how that surface of the workpiecewill interact with light that strikes the surface. In general, theabove-noted steps of FIG. 10 allow a virtual configurable inspectionstation and virtual workpiece to be defined. The virtual inspectionstation can also include a model of the camera and one or more workpiecefixtures. The virtual inspection station also can include the relativeposition and orientations of all the various components of theinspection station such as those in FIG. 1A.

As a result, a simulated image can now be rendered based on the virtualinspection station and virtual workpiece. Thus, the method of FIG. 10continues in step 1008 with the image rendering application generating acorresponding simulated image based on the lighting models, therespective light mappings, the first workpiece model, the first materialmapping, the camera model and the models of the other components of thevirtual inspection station.

As described above, a computer vision application defined by thecomputer vision software 166 can be used in which a user can define oneor more searchable features or patterns to be searched for in an image.Each of those searchable features or patterns can beneficiallycorrespond to an attribute of the workpiece. Thus, in step 1010, input,such as from a user, is received which defines a feature or patterncorresponding to an attribute of the workpiece to be searched for in thesimulated image by the computer vision application in communication withthe image rendering application. One measure of the design of theconfigurable inspection station is whether or not the modeledconfiguration allows the feature or pattern corresponding to theworkpiece attribute to be discernable for a wide variety of users. Inother words, different users of the computer vision application may havedifferences in how they each define or select a region of interest inthe image to be searched. If a feature or pattern corresponding to aworkpiece attribute is discernable for a variety of differentdefinitions of the region of interest, then that design can beconsidered better than a design in which the feature or patterncorresponding to a workpiece attribute is discernable in fewer of thedifferent definitions of the region of interest.

Accordingly, in step 1012, two operations are iteratively performed fora predetermined number of times (e.g., 100 or any number less than orgreater than 100) using a same simulated image. First, an input, such asfrom a user, is received defining a respective region of interest in thesimulated image for the computer vision application to search for thefeature or pattern corresponding to the attribute and secondly, thecomputer vision application, determines whether the feature or patterncorresponding to the attribute of the workpiece is identifiable, in theregion of interest in the simulated image. As mentioned above, thecomputer vision system uses image analysis algorithms to determinewhether the user-defined searchable feature or pattern is present in animage. Determining the user-defined searchable feature or pattern ispresent in the image is equivalent to determining that the attribute ofthe workpiece is identifiable in the simulated image.

Once the two steps of step 1012 are performed for the predeterminednumber of times, a first evaluation score for the design of theconfigurable inspection station can be calculated, in step 1014, basedon the number of times the computer vision application determined thefeature or pattern corresponding to the attribute of the workpiece wasidentifiable in the regions of interest in the simulated image. As anexample, if the feature or pattern corresponding to the attribute of theworkpiece was identifiable in 95 of the 100 iterations, then the firstevaluation score of the design of the configurable inspection stationcould be 95 or 95%. One of ordinary skill will recognize that othertypes of evaluation scores may be used without departing from the scopeof the present invention.

The method of FIG. 10 can be repeated for a different design of theconfigurable inspection station. One or more of the design parameterinstances can be changed, such as the location of the differentcomponents. Further instances of parameters associated with the virtualinspection station and/or the workpiece can be changed including use ofdifferent lighting models, light mappings, workpiece models, and/ormaterial mappings. A respective evaluation score can be calculated foreach of the different designs of the configurable inspection station.These evaluation scores allow the different designs to be compared todetermine which ones are better than others.

Furthermore, a number of attributes of the workpiece can be of interestsuch that a number of regions of interest and searchable features orpatterns can be defined by a user in conjunction with a single simulatedimage. Thus, there can be feature 1, feature 2, . . . feature N forwhich the computer vision software can determine whether or not thatfeature is present in an image, wherein each feature corresponds to arespective attribute of the workpiece. Accordingly, the evaluation scorein step 1014 may include a numerical component for each feature and thedifferent numerical components can be statistically combined in variousways to arrive at an overall evaluation score associated with aparticular simulated image. Thus, if there are N features searched forand there are 100 iterations of step 1012 performed, then (100×N) datapoints are collected that can be analyzed to determine theidentifiability of the features corresponding to the workpieceattributes for a particular configuration of the modeled inspectionstation (i.e., one simulated image). As an example, the collectedevaluation scores for different simulated images may be similar to:

IMAGE FEATURE_1 . . . FEATURE_N SCORE 1 95/100 80/100 175 . . . 5 90/10090/100 180

FIGS. 11A-11C illustrate how changing design parameter instances of aconfigurable inspection station changes detectability of a featurecorresponding to a workpiece attribute in accordance with the principlesof the present disclosure. In FIG. 11A, a region of interest 1102corresponding to a portion of a fin guard 603 of a razor cartridge 602is of interest and the feature or pattern corresponding to the attributeof the workpiece that is desired to be detected is one or more of theedges of the region 1102 corresponding to one of the protrusions or fins603A on the fin guard 603, see FIGS. 7B and 11C. Using the softwareapplications described earlier, the user can provide input that definesthe region of interest in the simulated image and that further definesthe searchable feature or pattern (e.g., an edge) that is to be searchedfor. FIG. 11A is a simulated image rendered using a first light mapping.This first light mapping can, for example, be changed to a second lightmapping which defines a higher intensity or brightness of light ascompared to the first light mapping. With this second light mapping, therendering software can render a new simulated image as shown in FIG.11B. In FIG. 11B, a region of interest 1104 corresponds to the sameregion of interest 1102 of FIG. 11A. However, with the brighter light,the one or more edges, i.e., features, corresponding to one or moreprotrusions or fins 603A of the fin guard 603 are more easilydiscernable to the computer vision application in the region of interest1104 of FIG. 11B. Thus, the light mapping of FIG. 11B would typically beconsidered part of a better inspection station configuration than thatof FIG. 11A, at least for inspecting the fin guard protrusions or fins603A.

FIG. 11A is a simulated image rendered using a first material mapping,having a color such as black. Other ways that material mappings candiffer is that one might represent a matte finish while another mightrepresent a glossy finish. This first material mapping can, for example,be changed to a second material mapping which defines a different colorsuch as, for example, green. With this second material mapping, therendering software can render a new simulated image as shown in FIG.11C. In FIG. 11C, the region of interest 1106 corresponds to the sameregion of interest 1102 of FIG. 11A. However, with the difference incolor, the one or more edges, i.e., features, corresponding to one ormore protrusions or fins 603A on the fin guard 603 are more easilydiscernable to the computer vision application. Thus, the materialmapping of FIG. 11C would typically be considered a better choice andpart of a more preferred inspection station configuration and workpiececonfiguration than that of FIG. 11A, at least for inspecting the finguard 603.

FIG. 11B is a simulated image rendered using a light source located at afirst location. As mentioned above, the image rendering software can beprovided with what is considered a mechanical layout model assembly ofthe configurable inspection station and workpiece. By way of example,the mechanical layout model assembly can include one or more of: acamera model, the workpiece model, a fixture model, other opticalcomponent models, or the one or more lighting models along with eachcomponent's relative location, position and orientation. This firstlocation of the light source can, for example, be changed to a secondlocation which is further from the workpiece model. With this secondlocation, the rendering software can render a new simulated image (notshown). However, with the difference in light location or position,i.e., being further from the workpiece, the one or more edges, i.e.,features, corresponding to one or more protrusions or fins 603A on thefin guard 603 may be less discernable to the computer visionapplication. Thus, such a light location would typically be considered aworse choice and part of a less preferred inspection stationconfiguration than that of FIG. 11B, at least for inspecting the finguard 603.

FIG. 12A and FIG. 12B illustrate how a change to an illumination sourcechanges detectability of a feature or pattern corresponding to aworkpiece attribute in accordance with the principles of the presentdisclosure. In FIG. 12A, the mechanical layout model assembly includestwo light sources similar to the configuration shown in FIG. 1A. In thiscase, one or more edges, i.e., features, corresponding to one or moreprotrusions or fins 603A on the fin guard 603 are relatively easy todiscern by the computer vision application. However, FIG. 12Bcorresponds to a configuration in which a backlight (e.g., 112 of FIG.1A) is removed. With the difference in light sources, the one or moreedges corresponding to one or more protrusions or fins 603A on the finguard 603 are less discernable to the computer vision application. Thus,the light sources of FIG. 12B would typically be considered part of aworse inspection station configuration than that of FIG. 12A, at leastfor inspecting the fin guard 603.

As described above, a user of the computer vision system can define orselect searchable features or patterns that are to be searched for in asimulated image to determine whether or not that searchable feature orpattern is detectable, discernable or identifiable in the image. Examplesearchable features include edges, circles, boxes, lines, patterns, linepairs, multiple edges, irregular features, and any other types offeatures for which the computer vision application provides a tool andwherein each feature corresponds to an attribute of a workpiece. Thus,determining whether a searchable feature is discernable or detectable ina simulated image is equivalent to determining whether the correspondingattribute of the workpiece is discernable or identifiable in the image.Referring back to FIGS. 8A-8F and FIG. 9A, and FIG. 9B, aninspectability metric can be assigned when determining whether or not aparticular searchable feature or pattern is discernable, i.e.,identifiable, or not. In some instances, as described earlier, thatinspectability metric was a confidence level. For example, if thedesired searchable feature is a line 20 pixels long, then finding a linethat is 18 pixels long may indicate that there is a 95% confidence thatthe found line is the desired searchable feature. However, if a line ofonly 14 pixels is found, then there is only a 50% confidence that thefound line is the desired searchable feature. The inspectability metricalso could just be the length of the found line (e.g., 18 vs. 14). Asnoted above, the inspectability metric may further comprise a detectedcontrast value for adjacent lines of pixels or correspond to a number orpercentage of pixels found in an image that match a pattern. Theinspectability metric may be a binary indicator that indicates whetheror not the feature is present in the image. The inspectability metriccan be a combination of individual scores such as, for example, thelength of a found line along with the angle of the found line. When boththe length and angle are similar to a definition of the desiredsearchable feature, the overall score may be high. If both the lengthand angle of the found line are relatively dissimilar with thedefinition of the desired searchable feature, then the overall score maybe low for the found line. When one of the length or angle is similarfor the found line but the other is dissimilar to the definition of thedesired feature, then the overall score may be an intermediate value.

Generalizing the above specific examples, for each desired searchablefeature, the computer vision system may analyze a region of interest,which may comprise the entire image or only a portion of the image, andcalculates an inspectability metric that is indicative of a visualdiscernibility of the searchable feature or, in other words, that isindicative of the visual discernibility of the corresponding attributeof the workpiece in the simulated image. Thus, the respectiveinspectability metric for a workpiece attribute may be higher or lowerin two different simulated images. That difference reveals that in thesimulated image for which the inspectability metric is higher, thefeature corresponding to the workpiece attribute of interest is morevisually discernable or identifiable than in the other simulated image.Utilizing the inspectability metric, the computer vision system canautonomously compare two different designs of the modeled inspectionstation and workpiece to determine which one is a better design forvisually detecting a feature corresponding to an attribute of aworkpiece if the modeled inspection station were physically implemented.

FIG. 13 is a flowchart of an example method of evaluating the design ofthe configurable inspection station in accordance with the principles ofthe present disclosure. The method of FIG. 13 can be performed by one ormore processors such as one or more computers or similar device(s) thatexecutes operations defined in programmable code stored in a manneraccessible by the one or more processors. As noted above, the virtualinspection station and virtual workpiece have a number of designparameters that can be varied. These design parameters can include avariable workpiece parameter, a variable illumination parameter, avariable workpiece fixture parameter, a variable camera parameter, avariable optics parameter and the like. Each variable parameter may havea number of different possible instances, wherein any one of thoseinstances could be selected for use in a particular design orconfiguration of the virtual inspection station or virtual workpiece.These instances may define a number and type of lighting models andcorresponding light mappings, a camera model, a workpiece model andmaterial mapping, a workpiece fixture model and corresponding materialmapping and optics models. The relative positions of the camera model,lighting models, workpiece and workpiece fixture models may be varied aswell to create different configurations of the inspection station. Thedifferent configurations can be modeled and evaluated to determine whichconfiguration(s) is helpful in inspecting a workpiece to determinewhether or not a feature corresponding to a particular attribute of theworkpiece would be discernable if the modeled inspection station were tobe physically implemented. Thus, embodiments in accordance with theprinciples of the present disclosure relate to a method for evaluating adesign of a configurable inspection station for inspecting a workpiece,wherein the design of the configurable inspection station has aplurality of changeable design parameters. Furthermore, a system forsimulating a computer vision based inspection station can iterativelychange an instance of one of the design parameters to converge to anoptimum instance for the one parameter.

The flowchart of FIG. 13, begins in step 1302 after two simulated imageshave been rendered by an image rendering application. Each simulatedimage is based on a corresponding design of the configurable inspectionstation and workpiece. One design has a first set of instances for thevariable design parameters and the second design has a second set ofinstances for the variable design parameters. At least one of theinstances is different between the first and second sets. For example,in a first design, a first instance may comprise a first lighting modeland a corresponding first light mapping having a first intensity. In asecond design, a second instance may comprise the first lighting modeland a second light mapping having a second intensity different from thefirst intensity. In step 1302, a processor determines an initial betterimage from a comparison of the two simulated images. As described above,a “better” image is one in which the inspectability metrics associatedwith the images indicate the desired feature corresponding to theattribute of interest of the workpiece is more visually discernable inthe one “better” image than in the other image. Next, a new design ofthe configurable inspection station is generated by using a new set ofinstances for the design parameters where at least one instance for oneparameter is different in the new set from an instance for the sameparameter used in the prior set of design parameters. If the changeresults in a better image, then the process can continue. If the changeresults in a worse image, then the process can stop or a new design ofthe configurable inspection station can be generated by changing theinstance of the one parameter or one or more other parameters.

Thus, the flowchart of FIG. 13 shows a method in which the processoreither alone or in combination with one or more other processorsiteratively performs a number of steps. The method includes, in step1304, providing a new configuration of the design of the configurableinspection station. This “providing” step may involve a CAD applicationcomprising CAD software providing a modeled inspection station to theimage rendering application where light and material mappings areapplied to corresponding modeled lights and one or more modeledcomponents to define the new configuration of the design of theconfigurable inspection station. A user may select a desired lightmapping or a desired material mapping using the image rendering softwarewhere the mappings are included with the image rendering software orprovided externally by other sources to the image rendering software foruse by the image rendering software. In step 1306, the new configurationis used to generate, utilizing the image rendering application, a newsimulated image. Knowledge of the different instances of one of theparameters in the initial two images and thus, the direction in whichthe parameter instance changes to arrive at the better image may also beknown. When the new configuration is provided, the new set of instancescan include a change in that one parameter in the same directionindicated by the better image. As an example, if the better image has aninstance defining a light intensity greater than that of the otherimage, then the new configuration would have a new instance with a lightmapping having a light intensity greater than that of the better image.As another example, if an instance defines a material mapping providinga lightened color of a workpiece, which raises the discernibility of anedge (i.e., the inspectability metric), then the new instance woulddefine a material mapping having even a lighter color.

As noted, the new configuration includes a new set of instances for theplurality of variable parameters, wherein one instance of one parameteris different in the new set as compared to a set corresponding to a testimage. For the first iteration through, the test image comprises theinitial better image and for subsequent iterations, the test image isdefined by the subsequent image. Thus, for the first iteration, the twosimulated images are that initial better image (now labeled “a testimage”) and the new simulated image.

The process of FIG. 13 continues in step 1308 with the processordetermining, utilizing a computer vision application in communicationwith the image rendering application, a first inspectability metricassociated with the test image indicative of a visual discernibility ofa feature corresponding to an attribute of the workpiece in the testimage. Step 1310 is similar to step 1308 but involves the processordetermining, utilizing the computer vision application, a secondinspectability metric associated with the new simulated image indicativeof a visual discernibility of the feature corresponding to the attributeof the workpiece in the new simulated image.

Accordingly, when the second inspectability metric is higher than thefirst inspectability metric, the process continues in step 1312 byreturning to step 1304 in order to perform a subsequent iteration withthe new simulated image from the just completed iteration becoming thesubsequent image used in that next iteration.

The process iteratively continues with progressively better imagesuntil, in step 1314, a determination is made that the firstinspectability metric is higher than the second inspectability metric.Rather than simply stopping when this condition first occurs, additionaliterations can still be performed by returning to step 1304. Forexample, in step 1314, a determination is made as to whether the firstinspectability metric was higher than the second inspectability metricfor a predetermined number of immediately preceding iterations. If not,then the process continues in step 1314 by returning to step 1304 inorder to perform a subsequent iteration with the test image remainingthe subsequent image used in that next iteration.

If, in step 1314 it is determined that the first inspectability metricwas higher than the second inspectability metric for the predeterminednumber of immediately preceding iterations, then the process continuesin step 1315. At this point the instance of the one parameter in theconfiguration associated with the last subsequent (or test) image hasproduced a higher inspectability metric than any other instance of thatparameter (when all other parameter instances remain the same throughoutthe process), and thus, the iterations can stop in step 1315. However,the process of FIG. 13 can be repeatedly performed by returning to step1302 from step 1315. Each such performance involves optimizing adifferent one of the variable parameters of the configurable inspectionstation.

Below are two simplified examples, using non-real numbers, illustratingthe principles of the flowchart of FIG. 13. Each line represents aniteration in which a new configuration has been received such that arespective hypothetical inspectability metric has been calculated foreach of the test image and the new image of that iteration.

Example #1

-   -   #1 (test=0.85, new=0.9) The changed parameter instance has        resulted in a higher inspectability metric. So the        inspectability metric of the new image is used as the value for        the test image in the next iteration.    -   #2 (test=0.9, new=0.92)    -   #3 (test=0.92, new=0.95)    -   #4 (test=0.95, new=0.92) The changed parameter instance no        longer appears to be beneficial. However, a few more (e.g., 2)        iterations can be performed as verification with the test image        remaining the same in the next iteration.    -   #5 (test=0.95, new=0.91)    -   #6 (test=0.95, new=0.9) There have been 3 consecutive iterations        with the second inspectability metric lower than the first        metric so the changes are not converging towards an optimal        instance for the parameter that was being changed.    -   Next step: A new parameter could be selected and the process        repeated for that parameter or the process can stop. Of all the        configurations analyzed in the above iterations, the        configuration that resulted in the simulated image having an        inspectability metric of 0.95 is determined to be the optimal        configuration of the design of the configurable inspection        station.

Example #2

-   -   #1 (test=0.85, new=0.9) The changed parameter instance has        resulted in a higher inspectability metric. So the        inspectability metric of the new image is used as the value for        the test image in the next iteration    -   #2 (test=0.9, new=0.92)    -   #3 (test=0.92, new=0.95)    -   #4 (test=0.95, new=0.92) The changed parameter instance no        longer appears to be beneficial. However, a few more (e.g. 2)        iterations can be performed as verification with the test image        remaining the same in the next iteration.    -   #5 (test=0.95, new=0.94) The changed parameter instance has        resulted in a new image that is an improvement over the new        image of the previous iteration but the new inspectability        metric is still lower than that of the test image    -   #6 (test=0.95, new=0.96) The changed parameter instance has        resulted in a new image that is an improvement over the test        image, so more iterations are performed with the new image        becoming the test image for the next iteration.    -   #7 (test=0.96, new=0.98)    -   #8 (test=0.98, new=0.92) The changed parameter instance no        longer appears to be beneficial. However, a few more (e.g. 2)        iterations can be performed as verification with the test image        remaining the same in the next iteration.    -   #9 (test=0.98, new=0.91)    -   #10 (test=0.98, new=0.9) There have been 3 consecutive        iterations with the second inspectability metric lower than the        first metric so the changes are not converging towards an        optimal instance for the parameter that was being changed.    -   Next step: A new parameter could be selected and the process        repeated for that parameter or the process can stop. Of all the        configurations analyzed in the above iterations, the        configuration that resulted in the simulated image having an        inspectability metric of 0.98 is determined to be the optimal        configuration of the design of the configurable inspection        station.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousaspects of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). In addition, while theflowcharts have been discussed and illustrated in relation to aparticular sequence of events, it should be appreciated that changes,additions, and omissions to this sequence may occur without materiallyaffecting the operation of the disclosure. For example, two blocks shownin succession may, in fact, be executed substantially concurrently, orthe blocks may sometimes be executed in the reverse order, dependingupon the functionality involved. It will also be noted that each blockof the block diagrams and/or flowchart illustration, and combinations ofblocks in the block diagrams and/or flowchart illustration, may beimplemented by special purpose hardware-based systems that perform thespecified functions or acts, or combinations of special purpose hardwareand computer instructions.

As will be appreciated by one skilled in the art, aspects of the presentdisclosure may be illustrated and described herein in any of a number ofpatentable classes or context including any new and useful process,machine, manufacture, or composition of matter, or any new and usefulimprovement thereof. Accordingly, aspects of the present disclosure maybe implemented entirely hardware, entirely software (including firmware,resident software, micro-code, etc.) or combining software and hardwareimplementation that may all generally be referred to herein as a“circuit,” “module,” “component,” or “system.” Furthermore, aspects ofthe present disclosure may take the form of a computer program productembodied in one or more computer readable media having computer readableprogram code embodied thereon.

Any combination of one or more computer readable media may be utilized.The computer readable media may be a computer readable signal medium ora computer readable storage medium. A computer readable storage mediummay be, for example, but not limited to, an electronic, magnetic,optical, electromagnetic, or semiconductor system, apparatus, or device,or any suitable combination of the foregoing. More specific examples (anon-exhaustive list) of the computer readable storage medium wouldinclude the following: a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an appropriateoptical fiber with a repeater, a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that maycontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as JAVA, SCALA, SMALLTALK, EIFFEL, JADE, EMERALD, C++, CII, VB.NET,PYTHON or the like, conventional procedural programming languages, suchas the “c” programming language, VISUAL BASIC, FORTRAN 2003, PERL, COBOL2002, PHP, ABAP, dynamic programming languages such as PYTHON, RUBY, andGROOVY, or other programming languages. The program code may executeentirely on the user's computer or device.

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(systems) and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, may be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable instruction executionapparatus, create a mechanism for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that when executed may direct a computer, otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions when stored in thecomputer readable medium produce an article of manufacture includinginstructions which when executed, cause a computer to implement thefunction/act specified in the flowchart and/or block diagram block orblocks. The computer program instructions may also be loaded onto acomputer, other programmable instruction execution apparatus, or otherdevices to cause a series of operational steps to be performed on thecomputer, other programmable apparatuses or other devices to produce acomputer implemented process such that the instructions that execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The dimensions and values disclosed herein are not to be understood asbeing strictly limited to the exact numerical values recited. Instead,unless otherwise specified, each such dimension is intended to mean boththe recited value and a functionally equivalent range surrounding thatvalue. For example, a dimension disclosed as “40 mm” is intended to mean“about 40 mm.”

Every document cited herein, including any cross referenced or relatedpatent or application and any patent application or patent to which thisapplication claims priority or benefit thereof, is hereby incorporatedherein by reference in its entirety unless expressly excluded orotherwise limited. The citation of any document is not an admission thatit is prior art with respect to any invention disclosed or claimedherein or that it alone, or in any combination with any other referenceor references, teaches, suggests or discloses any such invention.Further, to the extent that any meaning or definition of a term in thisdocument conflicts with any meaning or definition of the same term in adocument incorporated by reference, the meaning or definition assignedto that term in this document shall govern.

While particular embodiments of the present invention have beenillustrated and described, it would be obvious to those skilled in theart that various other changes and modifications can be made withoutdeparting from the spirit and scope of the invention. It is thereforeintended to cover in the appended claims all such changes andmodifications that are within the scope of this invention.

What is claimed is:
 1. A method for evaluating a design of aconfigurable inspection station for inspecting a workpiece, the designof the configurable inspection station having a plurality of parameters,and the method comprising: providing a respective lighting model foreach of a first set of one or more illumination sources of theconfigurable inspection station; providing a respective light mappingfor each of the one or more lighting models of the configurableinspection station; providing a first workpiece model and a firstmaterial mapping for a first workpiece; generating a correspondingsimulated image based on the one or more respective lighting models, theone or more respective light mappings, the first workpiece model, andthe first material mapping; defining, by a processor, a featurecorresponding to an attribute of the workpiece such that the feature issearched for in the simulated image by a computer vision application incommunication with an image rendering application; repeatedlyperforming, for a predetermined number of times: receiving, by theprocessor, an input defining a respective region of interest in thesimulated image for the computer vision application to search for thefeature corresponding to the attribute; and determining, by theprocessor utilizing the computer vision application, whether the featurecorresponding to the attribute of the workpiece is identifiable, in theregion of interest in the simulated image; and calculating, by theprocessor, a first evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the simulatedimage.
 2. The method of claim 1, wherein the plurality of parameterscomprise workpiece and illumination parameters and the respectivelighting model for each of the first set of one or more illuminationsources, the respective light mapping for each of the one or morelighting models, the first workpiece model and the first materialmapping define a first set of instances for the workpiece andillumination parameters; further comprising: changing one of the firstset of instances so as to generate a second set of instances for theworkpiece and illumination parameters; generating a correspondingchanged simulated image based on the second set of instances for theworkpiece and illumination parameters; repeatedly performing, for apredetermined number of times: receiving, by the processor, an inputdefining a respective region of interest in the changed simulated imagefor the computer vision application to search for the featurecorresponding to the attribute; and determining, by the processorutilizing the computer vision application, whether the featurecorresponding to the attribute of the workpiece is identifiable, in theregion of interest in the changed simulated image; calculating, by theprocessor, a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and selecting the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.
 3. The method of claim 2, wherein changing oneof the first set of instances comprises changing a first light mappingfor one illumination source to a second light mapping having a differentlight intensity.
 4. The method of claim 2, wherein changing one of thefirst set of instances comprises changing a first workpiece model to asecond workpiece model having a different shape.
 5. The method of claim1, comprising: changing the one or more illumination sources so as togenerate a second set of one or more illumination sources, each of thesecond set of one or more illumination sources having an associatedlighting model and light mapping; generating a corresponding changedsimulated image based on the one or more lighting models and the one ormore light mappings associated with the second set of one or moreillumination sources, the first workpiece model, and the first materialmapping; repeatedly performing, for a predetermined number of times:receiving, by the processor, an input defining a respective region ofinterest in the changed simulated image for the computer visionapplication to search for the feature corresponding to the attribute;and determining, by the processor utilizing the computer visionapplication, whether the feature corresponding to the attribute of theworkpiece is identifiable, in the region of interest in the changedsimulated image; calculating, by the processor, a second evaluationscore for the design of the configurable inspection station based on thenumber of times the computer vision application determined the featurecorresponding to the attribute of the workpiece was identifiable in theregions of interest in the changed simulated image; and selecting thedesign of the configurable inspection station based on a comparison ofthe first evaluation score and the second evaluation score.
 6. Themethod of claim 5, wherein changing the one or more illumination sourcescomprises at least one of: replacing a first particular one of the firstset of one or more illumination sources with a different illuminationsource, adding an additional illumination source to the first set of oneor more illumination sources, or removing a second particular one of thefirst set of one or more illumination sources.
 7. The method of claim 1,further comprising: changing a particular one of the respective one ormore light mappings so as to generate a changed set of one or more lightmappings; generating a corresponding changed simulated image based onthe one or more lighting models, the changed set of one or more lightmappings, the first workpiece model, and the first material mapping;repeatedly performing, for a predetermined number of times: receiving,by the processor, an input defining a respective region of interest inthe changed simulated image for the computer vision application tosearch for the feature corresponding to the attribute; and determining,by the processor utilizing the computer vision application, whether thefeature corresponding to the attribute of the workpiece is identifiable,in the region of interest in the changed simulated image; calculating,by the processor, a second evaluation score for the design of theconfigurable inspection station based on the number of times thecomputer vision application determined the feature corresponding to theattribute of the workpiece was identifiable in the regions of interestin the changed simulated image; and selecting the design of theconfigurable inspection station based on a comparison of the firstevaluation score and the second evaluation score.
 8. The method of claim1, further comprising: receiving a second workpiece model having atleast one change from the first workpiece model; generating acorresponding changed simulated image based on the respective one ormore lighting models, the respective one or more light mappings, thesecond workpiece model, and the first material mapping; repeatedlyperforming, for a predetermined number of times: receiving, by theprocessor, an input defining a respective region of interest in thechanged simulated image for the computer vision application to searchfor the feature corresponding to the attribute; and determining, by theprocessor utilizing the computer vision application, whether the featurecorresponding to the attribute of the workpiece is identifiable, in theregion of interest in the changed simulated image; calculating, by theprocessor, a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and selecting the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.
 9. The method of claim 1, wherein the attributeof the workpiece comprises one of a geometric feature, an edge, atwo-dimensional logo, a three-dimensional logo, a corner or a surfacesection of the workpiece.
 10. The method of claim 1, further comprising:providing a mechanical layout model assembly of the configurableinspection station to the image rendering application.
 11. The method ofclaim 10, wherein the mechanical layout model assembly comprises one ormore of: a camera model, the first workpiece model, a fixture model, orthe respective one or more lighting models.
 12. The method of claim 1,wherein each of the respective one or more light mappings comprisesempirically determined data for the corresponding illumination source.13. The method of claim 1, wherein the first material mapping comprisesempirically determined data.
 14. A system for evaluating a design of aconfigurable inspection station for inspecting a workpiece, the designof the configurable inspection station having a plurality of parameters,the system comprising: a memory storing executable instructions; and aprocessor in communication with the memory, wherein the processor whenexecuting the executable instructions is configured to: receive from animage rendering application a simulated image based on a respectivelighting model for each of a first set of one or more illuminationsources of the configurable inspection station; a respective lightmapping for each of the one or more lighting models of the configurableinspection station; a first workpiece model; and a first materialmapping; define a feature corresponding to an attribute of the workpieceto be searched for in the simulated image by a computer visionapplication in communication with the image rendering application;repeatedly perform, for a predetermined number of times: receive aninput defining a respective region of interest in the simulated imagefor the computer vision application to search for the attribute; anddetermine, utilizing the computer vision application, whether thefeature corresponding to the attribute of the workpiece is identifiable,in the region of interest in the simulated image; and calculate a firstevaluation score for the design of the configurable inspection stationbased on the number of times the computer vision application determinedthe feature corresponding to the attribute of the workpiece wasidentifiable in the regions of interest in the simulated image.
 15. Thesystem of claim 14, wherein the plurality of parameters compriseworkpiece and illumination parameters and the respective lighting modelfor each of the first set of one or more illumination sources, therespective light mapping for each of the one or more lighting models,the first workpiece model and the first material mapping define a firstset of instances for the workpiece and the illumination parameter; andwhen executing the executable instructions the processor is configuredto: receive from the image rendering application, a changed simulatedimage based on a second set of instances for the workpiece andillumination parameters; wherein one of the first set of instances ischanged so as to generate the second set of instances for the workpieceand illumination parameters; repeatedly performing, for a predeterminednumber of times: receive an input defining a respective region ofinterest in the changed simulated image for the computer visionapplication to search for the feature corresponding to the attribute;and determine, utilizing the computer vision application, whether thefeature corresponding to the attribute of the workpiece is identifiable,in the region of interest in the changed simulated image; calculate asecond evaluation score for the design of the configurable inspectionstation based on the number of times the computer vision applicationdetermined the feature corresponding to the attribute of the workpiecewas identifiable in the regions of interest in the changed simulatedimage; and select the design of the configurable inspection stationbased on a comparison of the first evaluation score and the secondevaluation score.
 16. The system of claim 15, wherein to change one ofthe first set of instances comprises changing a first light mapping forone illumination source to a second light mapping having a differentlight intensity.
 17. The system of claim 15, wherein to change one ofthe first set of instances comprises changing a first workpiece model toa second workpiece model having a different shape.
 18. The system ofclaim 14, wherein when executing the executable instructions theprocessor is configured to: receive from the image renderingapplication, a changed simulated image, wherein the one or moreillumination sources are changed so as to generate a second set of oneor more illumination sources, each of the second set of one or moreillumination sources having an associated lighting model and associatedlight mapping; and the changed simulated image is based on the one ormore lighting models and the one or more light mappings associated withthe second set of one or more illumination sources, the first workpiecemodel, and the first material mapping; repeatedly performing, for apredetermined number of times: receive an input defining a respectiveregion of interest in the changed simulated image for the computervision application to search for the feature corresponding to theattribute; and determine, utilizing the computer vision application,whether the feature corresponding to the attribute of the workpiece isidentifiable, in the region of interest in the changed simulated image;calculate, a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and select the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.
 19. The system of claim 18, wherein the changeto the one or more illumination sources comprises at least one of:replacing a first particular one of the first set of one or moreillumination sources with a different illumination source, adding anadditional illumination source to the first set of one or moreillumination sources, or removing a second particular one of the firstset of one or more illumination sources.
 20. The system of claim 14,wherein when executing the executable instructions the processor isconfigured to: receive from the image rendering application, a changedsimulated image based on the respective one or more lighting models, achanged set of one or more light mappings comprising a change to aparticular one of the respective one or more light mappings, the firstworkpiece model, and the first material mapping; repeatedly performing,for a predetermined number of times: receive an input defining arespective region of interest in the changed simulated image for thecomputer vision application to search for the feature corresponding tothe attribute; and determine, utilizing the computer vision application,whether the feature corresponding to the attribute of the workpiece isidentifiable, in the region of interest in the changed simulated image;calculate a second evaluation score for the design of the configurableinspection station based on the number of times the computer visionapplication determined the feature corresponding to the attribute of theworkpiece was identifiable in the regions of interest in the changedsimulated image; and select the design of the configurable inspectionstation based on a comparison of the first evaluation score and thesecond evaluation score.
 21. The system of claim 14, wherein whenexecuting the executable instructions the processor is configured to:receive from the image rendering application, a changed simulated imagebased on the one or more lighting models, the respective one or morelight mappings, a second workpiece model comprising at least one changefrom the first workpiece model, and the first material mapping;repeatedly performing, for a predetermined number of times: receive aninput defining a respective region of interest in the changed simulatedimage for the computer vision application to search for the featurecorresponding to the attribute; and determine, utilizing the computervision application, whether the feature corresponding to the attributeof the workpiece is identifiable, in the region of interest in thechanged simulated image; calculate a second evaluation score for thedesign of the configurable inspection station based on the number oftimes the computer vision application determined the featurecorresponding to the attribute of the workpiece was identifiable in theregions of interest in the changed simulated image; and select thedesign of the configurable inspection station based on a comparison ofthe first evaluation score and the second evaluation score.
 22. Thesystem of claim 14, wherein the attribute of the workpiece comprises oneof a geometric feature, an edge, a two-dimensional logo, athree-dimensional logo, a corner or a surface section of the workpiece.23. The system of claim 14, wherein when executing the executableinstructions the processor is configured to: provide a mechanical layoutmodel assembly of the configurable inspection station to the imagerendering application.
 24. The system of claim 23, wherein themechanical layout model assembly comprises one or more of: a cameramodel, the workpiece model, a fixture model, or the one or more lightingmodels.
 25. The system of claim 14, wherein each of the respective oneor more light mappings comprises empirically determined data for thecorresponding illumination source.
 26. The system of claim 14, whereinthe first material mapping comprises empirically determined data.